#ifndef LOG_H_
#define LOG_H_

#define __DEBUGING

#define debug1(a) Log::printDebug(__FILE__,__LINE__, a)
#define debug2(a, b) Log::printDebug(__FILE__,__LINE__, a, b)
#define debug3(a, b, c) Log::printDebug(__FILE__,__LINE__, a, b, c)
#define debug4(a, b, c, d) Log::printDebug(__FILE__,__LINE__, a, b, c, d)
#define debug5(a, b, c, d, e) Log::printDebug(__FILE__,__LINE__, a, b, c, d, e)
#define debug6(a, b, c, d, e, f) Log::printDebug(__FILE__,__LINE__, a, b, c, d, e, f)


class Log
{
public:
	static void printDebug(const char * fileName, int line, const char * msg1);
	
	static void printDebug(const char * fileName, int line, const char * msg1, const char * msg2);
	
	static void printDebug(const char * fileName, int line, const char * msg1, const char * msg2, const char * msg3);
	
	static void printDebug(const char * fileName, int line, const char * msg1, int val1);
	
	static void printDebug(const char * fileName, int line, const char * msg1, int val1, const char * msg2, int val2);
	
	static void printDebug(const char * fileName, int line, const char * msg1, int val1, const char * msg2, int val2, const char * msg3, int val3);
	
};

#endif /*LOG_H_*/
